Auto Scaling 그룹의 시작 구성 / 시작 템플릿을 변경해봅시다.
시작 구성 / 시작 템플릿
많은 분들이 시작 구성과 시작 템플릿의 차이에 대해서 궁금하실 것이라고 생각합니다. 영어로는 Launch Configuration / Template 인 시작 구성과 시작 템플릿은 Auto Scaling 그룹이 인스턴스를 생성할 때 어떤 타입의 인스턴스를 생성할 것인지, 어떤 AMI나 키페어를 사용할 것인지 등의 정보들을 정의해 놓은 것이라고 할 수 있습니다.
시작 구성과 템플릿은 비슷하지만 서로 다른 차이점이 존재합니다. 그 중에서도 한 번 작성한 시작 구성은 수정이 불가능하다는 것과, 시작 템플릿은 버전 관리를 통해 내용의 변경이 가능하다는 점의 차이점이 있습니다. 이 때문에 Auto Scaling 그룹에 적용할 시작 구성/템플릿 을 수정할 때의 방법은 아래와 같은 순서로 이루어 지게 됩니다.
시작 구성의 경우
- 새로운 시작 구성 생성 -> Auto Scaling 그룹 편집 -> 변경 사항 적용을 위해 「인스턴스 새로고침」으로 자동 배포
시작 템플릿의 경우
- 새 버전 생성 -> Auto Scaling 그룹 편집 -> 변경 사항 적용을 위해 「인스턴스 새로고침」으로 자동 배포
본 블로그를 통해 Auto Scaling 그룹에 적용되어 있는 시작 구성과 시작 템플릿을 변경하는 법과 변경 후 인스턴스를 업데이트 하는 방법까지 정리하도록 하겠습니다.
시작 구성
시작 구성에는 한 번 생성된 시작 구성은 수정할 수 없다는 특징이 있습니다. 그렇기 때문에 변경을 위해서는 새로운 시작 구성을 작성해야만 합니다.
작은 변경 사항이 있음에도 불구하고, 기존에 사용하던 시작 구성과 똑같은 내용을 설정하고 변경이 필요한 부분만 수정한 새 시작 구성을 생성해야하는 데요. 이런 작업들은 역시나 귀찮고, 실수라도 하게 될까 걱정이 되기도 할 것입니다.
하지만 기존의 시작 구성에서 큰 변경 사항이 없는 시작 구성을 생성해야 하는 경우라면「시작 구성 복사」를 사용하여 쉽게 새로운 시작 구성을 작성할 수 있기 때문에 걱정하실 필요는 없습니다.
시작 구성 복사
복사본을 생성하는 방법은 정말 간단합니다.
- 콘솔의 시작 구성 복사 화면에서 복사할 원본 시작 구성을 선택한 후 카피본을 생성합니다.
- 변경이 필요한 부분의 내용을 변경한 후 완료하기만 하면 됩니다.
- 복사본의 이름에는 copy 가 붙기 때문에 수정이 필요하다면 수정해줍시다.
Auto Scaling 그룹 편집
- 그 후 Asuto Scaling 그룹 항목에서 대상 오토스케일링 그룹을 선택 후, 편집을 실행합니다.
- 새롭게 작성한 시작 구성을 선택 후 편집을 완료합니다.
시작 템플릿
시작 템플릿은 버전 관리 기능이 있기 때문에 새로운 시작 템플릿을 만들 필요 없이 새로운 버전을 만들어 업데이트 하는 것이 가능합니다.
새로운 버전을 생성한 후에는 시작 구성을 변경할 때 처럼 Auto Scaling 그룹을 편집하기만 하면 시작 템플릿의 버전 교체는 끝이 납니다.
- 콘솔 화면에서 시작 템플릿의 새로운 버전을 생성합니다.
- 원본 템플릿 버전을 확인합니다.
- 변경할 내용을 수정하고 새로운 버전의 생성을 완료합니다.
- 시작 템플릿을 클릭하여 버전에 관한 간단한 정보를 확인할 수 있습니다.
- 버전 삭제, 기본 버전 설정 등의 버전을 관리 할 수 있습니다.
- 내용을 수정할 Auto Scaling 그룹을 선택하고 편집을 진행합니다.
- 다른 시작 템플릿으로 교체하거나, 버전을 바꾼 뒤, 시작 템플릿의 교체를 완료합니다.
「인스턴스 새로고침」으로 변경 사항 적용
이미 생성된 인스턴스는 변경된 Auto Scaling 그룹 설정의 영향을 받지 않기 때문에, 변경 사항 적용을 위해 인스턴스를 업데이트 해주는 과정이 필요합니다. 수명주기나 수동으로 인스턴스를 배포하는 방법도 있지만「인스턴스 새로고침」기능을 사용하여 자동으로 인스턴스 대체를 실행할 수 있습니다.
대상 Auto scaling 그룹을 선택 후, 하단 화면에서 인스턴스 새로고침 시작 을 진행합니다.
최소 정상 백분율
- 인스턴스 새로 고침 중에 계속해서 인스턴스를 유지할 비율을 설정합니다. 기준은 Auto Scaling 그룹에 설정해둔 원하는 용량을 따릅니다.
- 설정해둔 원하는 용량이 10이고 최소 정상 백분율이 50이라면 한 번에 5개의 인스턴스를 교체합니다.
- 0 일 경우에는 모든 인스턴스를 한 번에 교체합니다.
- 100 일 경우에는 한 번에 하나의 인스턴스를 교체합니다.
인스턴스 워밍업
- 새 인스턴스의 상태가 트래픽을 수신할 수 있기 까지의 대기 시간을 의미합니다.
일치 건너뛰기
- 「원하는 구성」구성과 일치하는 인스턴스를 교체하지 않는 옵션입니다.
- 「원하는 구성」의 설정이 없다면, 그룹에 이미 설정되어 있는 구성과 동일한 인스턴스를 교체하지 않습니다.
- 활성화를 해제하면 그룹의 모든 인스턴스를 교체합니다.
- 「인스턴스 새로 고침 시작」버튼이 작동하지 않을 경우 이 옵션을 비활성화 하여 대처할 수 있습니다.
인스턴스 새로고침을 시작하고 진행상황을 확인할 수 있습니다.
EC2 인스턴스 콘솔 화면으로 가서 확인해 보니 기존의 인스턴스는 종료되고 있고 새로운 인스턴스가 실행되고 있는 것을 확인할 수 있습니다.
끝으로
이것으로 Auto Scaling 그룹의 시작 구성/테플릿을 변경하고 배포하는 방법까지 확인해 보았습니다.
AWS에서는 시작 구성보다 시작 템플릿을 사용하는 것을 권장하고 있으며, 2022년 말에는 시작 구성에서는 새로운 인스턴스에 대한 지원도 없어질 예정이니, Auto Scaling 그룹의 시작 구성을 사용하고 계시는 분들은 이참에 시작 템플릿으로 변경하는 방법도 고려해봄직 하다고 생각합니다.
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !